斐讯dc1服务器什么时候修复,[4月1日更新!!]斐讯DC1插座自制固件接入ha |
您所在的位置:网站首页 › 智云物联 斐讯m1 › 斐讯dc1服务器什么时候修复,[4月1日更新!!]斐讯DC1插座自制固件接入ha |
请注意:工具也要更新到新版本,否则可能会出现问题!前期因按过重启按钮的,可能导致固件损坏,必须重新线刷!老版本的,可能无法OTA,也要重新线刷一次。 修复诸多问题,现在可以正常使用了! 目前功能情况: 断电保持功能正常 总开关关闭,其他开关同步关闭 总开关关闭的情况下,开启其他开关,总开关会打开 LOGO灯和总开关联动,同时开、关 增加连接的SSID信息,以及当前设备的IP地址 斐讯DC1插座利用ESPHOME自制固件方式接入开源智能家居平台 WHY 众所周知的原因,斐讯服务器已经不能正常访问,插座的APP控制已经无法正常实现,需要有另外的方式实现插座的控制。 已有的方法为内网劫持实现,具体可参考这里。 这次要实现的是通过一个自定义的固件,来完整实现DC1联网控制。 请关注github项目 接入方法 按照下面的方法更新固件 Home Assistant中添加esphome组件 输入dc1对应的ip地址 配置lovelace 更新固件方法 请勿带市电操作!!!危险自负!!! TTL接线方法 1、拆主控板 用到的工具 拆板步骤 如果插座刚通过电,拆的时候千万不要去摸电路板,电容带电!!! 2、主控板接线 用到的TTL工具 任选一个即可 接线方法 固件编译及刷固件方法 0、前置条件 请确认已经按照本方法连接好TTL工具,并且TTL工具驱动已经正确安装。 1、下载固件配置文件(下方右键另存为) 固件版本定义: dc1_homeassistant:相对稳定版本,用于接入Home Assistant dc1_homeassistant_test:测试版本,用于接入Home Assistant dc1_mqtt:相对稳定版本,用于接入mqtt平台 dc1_mqtt_test:测试版本,用于接入mqtt平台 Python 配置文件对应版本更新历史 dc1_homeassistant: v2019.03.28.002: 编译固件前请更新esphome及esphome-core到最新版本! 1、优化按钮,解决重启问题 dc1_homeassistant_test: dc1_mqtt:无 dc1_mqtt_test:无 1 2 3 4 5 6 7 8 9 10 11 12 13 配置文件对应版本更新历史 dc1_homeassistant: v2019.03.28.002: 编译固件前请更新esphome及esphome-core到最新版本! 1、优化按钮,解决重启问题 dc1_homeassistant_test: dc1_mqtt:无 dc1_mqtt_test:无 2、修改固件配置文件 按照自己的情况修改配置文件中substitutions内的参数。其他的配置如果不是很了解就不要去修改了。 Python #--------------------- 只需要改这下面的内容 --------------------- substitutions: #WiFi芯片版本,型号中带B的为csm64f02_b,不带B的为csm64f02 board_model: csm64f02 #设备名称(多个dc1改成不一样的) device_name: phicomm_dc1 #WiFi_SSID名称 wifi_ssid: '2L' #WiFi密码 wifi_password: '1122334455' #如果SSID是隐藏的,设置为true wifi_fast_connect: 'false' #WiFi离线多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s wifi_reboot_timeout: 600s #OTA密码 ota_password: '123456' #与客户端(如Home Assistant)失去连接多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s api_reboot_timeout: 600s #电量统计的数据更新时间,秒s/分钟min/小时h cse7766_update_interval: 1s #--------------------- 只需要改这上面的内容 --------------------- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #--------------------- 只需要改这下面的内容 --------------------- substitutions: #WiFi芯片版本,型号中带B的为csm64f02_b,不带B的为csm64f02 board_model:csm64f02 #设备名称(多个dc1改成不一样的) device_name:phicomm_dc1 #WiFi_SSID名称 wifi_ssid:'2L' #WiFi密码 wifi_password:'1122334455' #如果SSID是隐藏的,设置为true wifi_fast_connect:'false' #WiFi离线多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s wifi_reboot_timeout:600s #OTA密码 ota_password:'123456' #与客户端(如Home Assistant)失去连接多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s api_reboot_timeout:600s #电量统计的数据更新时间,秒s/分钟min/小时h cse7766_update_interval:1s #--------------------- 只需要改这上面的内容 --------------------- 关于WiFi模组版本的选择,请查看下图,找出自己对应的芯片版本即可。 看红色箭头的位置,带B的为csm64f02_b,不带B的为csm64f02 3、搭建编译环境及刷固件 因platformio需要python2.7的环境,所以python2.7为必须。 Windows 系统 自搭环境版:点此查看 免搭建直接用版本:点此查看 MacOS MacOS自带python2.7,所以无需再安装。 从此处下载esphome(打开页面后,右上角「 Clone or download 」 → 「 Download ZIP 」),下载后解压缩。 打开终端,执行如下命令:(如需python虚拟环境,请自行配置virtualenv) Python # 进入esphome的setup.py所在目录 cd xxxxx # 编译 esphome # 如提示权限不足,命令前加上sudo python setup.py build # 安装 esphome python setup.py install # 进入配置文件所在目录 cd xxxxx # 编译固件(xxxxx.yaml为你的配置文件名字) esphome xxxxx.yaml compile # 刷固件(线刷或者OTA皆可) esphome xxxxx.yaml upload 1 2 3 4 5 6 7 8 9 10 11 12 13 # 进入esphome的setup.py所在目录 cdxxxxx # 编译 esphome # 如提示权限不足,命令前加上sudo pythonsetup.pybuild # 安装 esphome pythonsetup.pyinstall # 进入配置文件所在目录 cdxxxxx # 编译固件(xxxxx.yaml为你的配置文件名字) esphomexxxxx.yamlcompile # 刷固件(线刷或者OTA皆可) esphomexxxxx.yamlupload Linux 与MacOS类似,参考MacOS的方法 Docker docker版本暂无 开发过程回顾 1、已知的一些硬件资料 WiFi模组 WiFi模组使用的是芯海的CSM64F02,经过分析,这款模组和乐鑫的ESP-WROOM-02是一样的。 U7 经过分析,这是一颗IO扩展类的芯片,具体型号暂时未知,可能是cat9554的变种。 U11 这是一颗电量统计用的芯片,具体型号为CSE7766。 继电器 继电器使用的是永能家用继电器YX201系列的产品,控制电压为5V。 2、各芯片引脚对应关系 主控制板正面 主控制板背面 WHY 众所周知的原因,斐讯服务器已经不能正常访问,插座的APP控制已经无法正常实现,需要有另外的方式实现插座的控制。 已有的方法为内网劫持实现,具体可参考这里。 这次要实现的是通过一个自定义的固件,来完整实现DC1联网控制。 为什么选择ESPHome制作固件 ESPHome是一个只需写几行配置文件就可以实现ESP8266/ESP32接入智能家居系统的强大开源项目。其极高的可扩展性和易用性是本次选择的主要原因。 已支持接入的开源智能家居平台 以下排序随机,不分优劣。合适自己的就好。 1、Home Assistant Home Assistant 是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制、自动化等。 接入方法 Home Assistant中[设置]-[集成]-添加esphome组件 输入dc1对应的ip地址 配置lovelace 2、ioBroker ioBroker是基于nodejs的物联网的集成平台,为物联网设备提供核心服务,系统管理和统一操作方式。 接入方法 待补充 3、其他支持mqtt的平台 理论上来说,只要是支持mqtt的平台都可以实现接入。 接入方法 待补充 TODO LIST 分析硬件,获得主要芯片的资料 确定各引脚对应关系 获得原版固件的log信息(启动、控制) 控制实现推演 用逻辑分析仪分析U7的I2C数据 分析U7的IO逻辑 编写U7控制驱动程序 电量统计芯片CSE7766功能的实现 编写测试固件 按钮及网络控制功能完善 断电记忆功能完善 MQTT部分完善 可能存在的BUG 可能会出现开关重置的现象,怀疑是wifi模块重启或者是CAT9554驱动的bug,未验证 正在进行中 迁移到新版ESPHOME 开发过程回顾 1、已知的一些硬件资料 WiFi模组 WiFi模组使用的是芯海的CSM64F02,经过分析,这款模组和乐鑫的ESP-WROOM-02是一样的。 U7 经过分析,这是一颗IO扩展类的芯片,具体型号暂时未知,可能是cat9554的变种。 U11 这是一颗电量统计用的芯片,具体型号为CSE7766。 继电器 继电器使用的是永能家用继电器YX201系列的产品,控制电压为5V。 2、各芯片引脚对应关系 主控制板正面 主控制板背面 致谢 以下排名不分先后,为随机。 killadm: 导出原始固件,提供WiFi芯片对比图,主控制板WiFi模块、U7移除后的PCB照片,U7逻辑分析数据采集 老妖:U7驱动编写,U7逻辑分析 实验幼儿园小二班扛把子: 测试引脚走向 Heller、巴山耗子: 初期资料整理 风中的summer: 提供清晰的电路板照片,拆机过程照片 OttoWinter:esphome的作者 致谢 以下排名不分先后,为随机。 killadm: 导出原始固件,提供WiFi芯片对比图,主控制板WiFi模块、U7移除后的PCB照片,U7逻辑分析数据采集 老妖:U7驱动编写,U7逻辑分析 实验幼儿园小二班扛把子: 测试引脚走向 Heller、巴山耗子: 初期资料整理 风中的summer: 提供清晰的电路板照片,拆机过程照片 OttoWinter:esphome的作者 免责申明 以上纯属个人爱好,因为使用上述方法造成的任何问题,不承担任何责任。 部分图片来源于网络,如果涉及版权,请通知删除 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |